package com.sky.mapper;

import com.sky.entity.SetmealDish;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 套餐和菜品中间表数据访问接口
 *
 * @Author Vsunks.v
 * @Date 2023/5/3 11:46
 * @Blog blog.sunxiaowei.net
 * @Description:
 */
public interface SetmealDishMapper {

    /**
     * 根据菜品id们获取关联的所有套餐
     *
     * @param dishIds 菜品id们
     * @return 关联的所有套餐
     */
    List<SetmealDish> selectByDishIds(List<Long> dishIds);

    /**
     * 根据套餐id删除关联套餐详情（与对应菜品的关联关系）
     *
     * @param setmealId 套餐id
     */
    @Delete("delete from setmeal_dish where setmeal_id = #{setmealId};")
    int deleteBySetmealId(@Param("setmealId") Long setmealId);

    /**
     * 批量保存套餐详情（与对应菜品的关联关系）
     * @param setmealDishes 套餐详情（与对应菜品的关联关系）
     * @return 影响的行数
     */
    int insertBatch(List<SetmealDish> setmealDishes);
}
